package cz.destil.wearsquare.api;
import com.squareup.okhttp.HttpUrl;
import com.squareup.okhttp.Interceptor;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import java.io.IOException;
import cz.destil.wearsquare.data.Preferences;
import cz.destil.wearsquare.util.L;
import retrofit.GsonConverterFactory;
import retrofit.Retrofit;
/**
* Processor for 4sq API.
*
* @author David Vávra (david@vavra.me)
*/
public class Api {
public static final String BUILD_DATE = "20141226";
public static final String URL = "https://api.foursquare.com/v2/";
public static Retrofit get() {
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request originalRequest = chain.request();
HttpUrl newUrl = originalRequest.httpUrl().newBuilder()
.addQueryParameter("v", BUILD_DATE)
.addQueryParameter("oauth_token", Preferences.getFoursquareToken())
.build();
Request newRequest = originalRequest.newBuilder().url(newUrl).build();
L.i("Calling " + newUrl);
Response response = chain.proceed(newRequest);
L.i("Response code: " + response.code());
return response;
}
});
return new Retrofit.Builder()
.baseUrl(URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
// parent classes common for all requests:
public static class FoursquareResponse {
}
}